﻿using DongFangGuoKai.WMSPlatform.Domain.Models;
using DongFangGuoKai.WMSPlatform.Domain.WCSModels;
using DongFangGuoKai.WMSPlatform.Service.OutboundOrderDetail.DTO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Transactions;

namespace DongFangGuoKai.WMSPlatform.Service.OutboundOrderDetail
{
    public interface ITOutboundOrderDetailService
    {
        /// <summary>
        /// 执行出库
        /// </summary>
        /// <param name="OrdersNo"></param>
        /// <returns></returns>
        bool ExecuteOutBound(string OutBoundNo, out string errorMsg);

        /// <summary>
        /// 完成出库
        /// </summary>
        /// <param name="conveyorLineOver"></param>
        /// <param name="errorMsg"></param>
        /// <returns></returns>
        bool CompleteOutBound(ConveyorLineOverModel conveyorLineOver, out string errorMsg);

        /// <summary>
        /// avg调用完成出库
        /// </summary>
        /// <param name="instruct"></param>
        /// <param name="errorMsg"></param>
        /// <returns></returns>
        bool CompleteOutBound(t_Instruct instruct, out string errorMsg);

        /// <summary>
        /// 出库样品箱号到输送线
        /// </summary>
        /// <param name="instruct"></param>
        /// <param name="errorMsg"></param>
        /// <returns></returns>
        bool SampleToConveyor(t_Instruct instruct, out string errorMsg);

        /// <summary>
        /// 添加出库单
        /// </summary>
        /// <param name="addOutBoundOrder"></param>
        /// <returns></returns>
        bool AddOutboundOrders(AddOutBoundOrder addOutBoundOrder,out string errorMag);
    }
}
